package com.yuke.cloud.service.omc.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;
import java.util.List;
import javax.persistence.*;

@ApiModel(value = "com.yuke.cloud.service.omc.entity.OdsStockOrder")
@Table(name = "ods_stock_order")
public class OdsStockOrder {
    /**
     * 主键，自增
     */
    @Transient
    private String shopName;
    @Transient
    private String shopUserName;
    @Transient
    private String shopMobile;
    @Transient
    private String address;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }




    @Transient
    private String regionProvinceName;

    public String getRegionProvinceName() {
        return regionProvinceName;
    }

    public void setRegionProvinceName(String regionProvinceName) {
        this.regionProvinceName = regionProvinceName;
    }

    public String getRegionCityName() {
        return regionCityName;
    }

    public void setRegionCityName(String regionCityName) {
        this.regionCityName = regionCityName;
    }

    public String getRegionCountyName() {
        return regionCountyName;
    }

    public void setRegionCountyName(String regionCountyName) {
        this.regionCountyName = regionCountyName;
    }

    @Transient//店铺的地址

    private String regionCityName;
    @Transient
    private String regionCountyName;

    public String getShopMobile() {
        return shopMobile;
    }

    public void setShopMobile(String shopMobile) {
        this.shopMobile = shopMobile;
    }

    public String getShopUserName() {
        return shopUserName;
    }

    public void setShopUserName(String shopUserName) {
        this.shopUserName = shopUserName;
    }


    @Transient
    private List<OdsStockGoods> goodsList;

    public List<OdsStockGoods> getGoodsList() {
        return goodsList;
    }

    public void setGoodsList(List<OdsStockGoods> goodsList) {
        this.goodsList = goodsList;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getWarehouseName() {
        return warehouseName;
    }

    public void setWarehouseName(String warehouseName) {
        this.warehouseName = warehouseName;
    }

    @Transient

    private String warehouseName;
    @Id
    @Column(name = "stock_order_id")
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value = "stockOrderId主键，自增")
    private Long stockOrderId;

    /**
     * 订单号，唯一
     */
    @Column(name = "stock_order_sn")
    @ApiModelProperty(value = "stockOrderSn订单号，唯一")
    private String stockOrderSn;

    /**
     * 店铺ID
     */
    @Column(name = "shop_id")
    @ApiModelProperty(value = "shopId店铺ID")
    private Long shopId;

    /**
     * 仓库ID
     */
    @Column(name = "warehouse_id")
    @ApiModelProperty(value = "warehouseId仓库ID")
    private Long warehouseId;

    /**
     * 进货时应该支付的金额，单位为分
     */
    @Column(name = "amount_payable")
    @ApiModelProperty(value = "amountPayable进货时应该支付的金额，单位为分")
    private Integer amountPayable;

    /**
     * 已付金额，单位分
     */
    @Column(name = "amount_paid")
    @ApiModelProperty(value = "amountPaid已付金额，单位分")
    private Integer amountPaid;

    /**
     * 进货状态， 0：平台未确认；1：已确认；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后还没入库时）；5：部分退货/退款（订单完成后还没入库时）；6：无效作废（管理员触发）
     */
    @Column(name = "stock_status")
    @ApiModelProperty(value = "stockStatus进货状态， 0：平台未确认；1：已确认；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后还没入库时）；5：部分退货/退款（订单完成后还没入库时）；6：无效作废（管理员触发）")
    private Byte stockStatus;

    /**
     * 订单支付状态， 0：未付款；1：已付款
     */
    @Column(name = "pay_status")
    @ApiModelProperty(value = "payStatus订单支付状态， 0：未付款；1：已付款")
    private Byte payStatus;

    /**
     * 支付平台ID，与支付平台表关联
     */
    @Column(name = "pay_platform_id")
    @ApiModelProperty(value = "payPlatformId支付平台ID，与支付平台表关联")
    private Long payPlatformId;

    /**
     * 支付平台交易号
     */
    @Column(name = "trade_code")
    @ApiModelProperty(value = "tradeCode支付平台交易号")
    private String tradeCode;

    /**
     * 是否删除，0：未删除，1：已删除
     */
    @Column(name = "is_delete")
    @ApiModelProperty(value = "isDelete是否删除，0：未删除，1：已删除")
    private Boolean isDelete;

    /**
     * 订单生成时间
     */
    @Column(name = "create_time")
    @ApiModelProperty(value = "createTime订单生成时间")
    private Date createTime;

    /**
     * 订单确认时间
     */
    @Column(name = "confirm_time")
    @ApiModelProperty(value = "confirmTime订单确认时间")
    private Date confirmTime;

    /**
     * 订单支付时间
     */
    @Column(name = "pay_time")
    @ApiModelProperty(value = "payTime订单支付时间")
    private Date payTime;

    /**
     * 获取主键，自增
     *
     * @return stock_order_id - 主键，自增
     */
    public Long getStockOrderId() {
        return stockOrderId;
    }

    /**
     * 设置主键，自增
     *
     * @param stockOrderId 主键，自增
     */
    public OdsStockOrder setStockOrderId(Long stockOrderId) {
        this.stockOrderId = stockOrderId;
        return this;
    }

    /**
     * 获取订单号，唯一
     *
     * @return stock_order_sn - 订单号，唯一
     */
    public String getStockOrderSn() {
        return stockOrderSn;
    }

    /**
     * 设置订单号，唯一
     *
     * @param stockOrderSn 订单号，唯一
     */
    public OdsStockOrder setStockOrderSn(String stockOrderSn) {
        this.stockOrderSn = stockOrderSn;
        return this;
    }

    /**
     * 获取店铺ID
     *
     * @return shop_id - 店铺ID
     */
    public Long getShopId() {
        return shopId;
    }

    /**
     * 设置店铺ID
     *
     * @param shopId 店铺ID
     */
    public OdsStockOrder setShopId(Long shopId) {
        this.shopId = shopId;
        return this;
    }

    /**
     * 获取仓库ID
     *
     * @return warehouse_id - 仓库ID
     */
    public Long getWarehouseId() {
        return warehouseId;
    }

    /**
     * 设置仓库ID
     *
     * @param warehouseId 仓库ID
     */
    public OdsStockOrder setWarehouseId(Long warehouseId) {
        this.warehouseId = warehouseId;
        return this;
    }

    /**
     * 获取进货时应该支付的金额，单位为分
     *
     * @return amount_payable - 进货时应该支付的金额，单位为分
     */
    public Integer getAmountPayable() {
        return amountPayable;
    }

    /**
     * 设置进货时应该支付的金额，单位为分
     *
     * @param amountPayable 进货时应该支付的金额，单位为分
     */
    public OdsStockOrder setAmountPayable(Integer amountPayable) {
        this.amountPayable = amountPayable;
        return this;
    }

    /**
     * 获取已付金额，单位分
     *
     * @return amount_paid - 已付金额，单位分
     */
    public Integer getAmountPaid() {
        return amountPaid;
    }

    /**
     * 设置已付金额，单位分
     *
     * @param amountPaid 已付金额，单位分
     */
    public OdsStockOrder setAmountPaid(Integer amountPaid) {
        this.amountPaid = amountPaid;
        return this;
    }

    /**
     * 获取进货状态， 0：平台未确认；1：已确认；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后还没入库时）；5：部分退货/退款（订单完成后还没入库时）；6：无效作废（管理员触发）
     *
     * @return stock_status - 进货状态， 0：平台未确认；1：已确认；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后还没入库时）；5：部分退货/退款（订单完成后还没入库时）；6：无效作废（管理员触发）
     */
    public Byte getStockStatus() {
        return stockStatus;
    }

    /**
     * 设置进货状态， 0：平台未确认；1：已确认；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后还没入库时）；5：部分退货/退款（订单完成后还没入库时）；6：无效作废（管理员触发）
     *
     * @param stockStatus 进货状态， 0：平台未确认；1：已确认；2：已完成；3：已取消（用户触发）；4：退货/退款（订单完成后还没入库时）；5：部分退货/退款（订单完成后还没入库时）；6：无效作废（管理员触发）
     */
    public OdsStockOrder setStockStatus(Byte stockStatus) {
        this.stockStatus = stockStatus;
        return this;
    }

    /**
     * 获取订单支付状态， 0：未付款；1：已付款
     *
     * @return pay_status - 订单支付状态， 0：未付款；1：已付款
     */
    public Byte getPayStatus() {
        return payStatus;
    }

    /**
     * 设置订单支付状态， 0：未付款；1：已付款
     *
     * @param payStatus 订单支付状态， 0：未付款；1：已付款
     */
    public OdsStockOrder setPayStatus(Byte payStatus) {
        this.payStatus = payStatus;
        return this;
    }

    /**
     * 获取支付平台ID，与支付平台表关联
     *
     * @return pay_platform_id - 支付平台ID，与支付平台表关联
     */
    public Long getPayPlatformId() {
        return payPlatformId;
    }

    /**
     * 设置支付平台ID，与支付平台表关联
     *
     * @param payPlatformId 支付平台ID，与支付平台表关联
     */
    public OdsStockOrder setPayPlatformId(Long payPlatformId) {
        this.payPlatformId = payPlatformId;
        return this;
    }

    /**
     * 获取支付平台交易号
     *
     * @return trade_code - 支付平台交易号
     */
    public String getTradeCode() {
        return tradeCode;
    }

    /**
     * 设置支付平台交易号
     *
     * @param tradeCode 支付平台交易号
     */
    public OdsStockOrder setTradeCode(String tradeCode) {
        this.tradeCode = tradeCode;
        return this;
    }

    /**
     * 获取是否删除，0：未删除，1：已删除
     *
     * @return is_delete - 是否删除，0：未删除，1：已删除
     */
    public Boolean getIsDelete() {
        return isDelete;
    }

    /**
     * 设置是否删除，0：未删除，1：已删除
     *
     * @param isDelete 是否删除，0：未删除，1：已删除
     */
    public OdsStockOrder setIsDelete(Boolean isDelete) {
        this.isDelete = isDelete;
        return this;
    }

    /**
     * 获取订单生成时间
     *
     * @return create_time - 订单生成时间
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置订单生成时间
     *
     * @param createTime 订单生成时间
     */
    public OdsStockOrder setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    /**
     * 获取订单确认时间
     *
     * @return confirm_time - 订单确认时间
     */
    public Date getConfirmTime() {
        return confirmTime;
    }

    /**
     * 设置订单确认时间
     *
     * @param confirmTime 订单确认时间
     */
    public OdsStockOrder setConfirmTime(Date confirmTime) {
        this.confirmTime = confirmTime;
        return this;
    }

    /**
     * 获取订单支付时间
     *
     * @return pay_time - 订单支付时间
     */
    public Date getPayTime() {
        return payTime;
    }

    /**
     * 设置订单支付时间
     *
     * @param payTime 订单支付时间
     */
    public OdsStockOrder setPayTime(Date payTime) {
        this.payTime = payTime;
        return this;
    }
}